/*
 * @FilePath: \undefinedc:\Users\sxjct\.leetcode\60.排列序列.cpp
 * @Brief: 
 * @Version: 1.0
 * @Date: 2021-03-22 17:06:26
 * @Author: tianyiyi
 * @Copyright: Copyright@tianyiyi
 * @LastEditors: Mr.Tian
 * @LastEditTime: 2021-03-23 11:20:57
 */
/*
 * @lc app=leetcode.cn id=60 lang=cpp
 *
 * [60] 排列序列
 */

// @lc code=start  // 超时
// class Solution {
// private:
//     vector<vector<int>> res;
// public:
//     string getPermutation(int n, int k) {
//         vector<int> path;
//         vector<bool> used(n+1,0);
        
//         vector<int> ans = backtrack(path,used,n,k);
//         string str;
//         for(auto it = ans.begin();it!=ans.end();it++)
//         {
//             str += to_string(*it);
//         }
//         return str;
//     }

//     vector<int> backtrack(vector<int> &path,vector<bool> &used,int n,int k)
//     {
//         if(path.size() == n)
//         {
//             res.push_back(path);
//             if(res.size() == k)
//             {
//                 return res[k - 1];
//             }
//         }

//         for(int i = 1 ; i <= n ; i++)
//         {
//             if(!used[i])
//             {
//                 path.push_back(i);
//                 used[i] = 1;
//                 backtrack(path,used,n,k);
//                 path.pop_back();
//                 used[i] = 0;
//             }
//         }
//         return res[k - 1];
//     }
// };



class Solution {
private:
    vector<vector<int>> res;
public:
    string getPermutation(int n, int k) {
        vector<int> dp(n+1,0)
        dp[1] = 1;
        dp[2] = 2;
        for(int i = 3 ; i <= n; i++)
        {
            dp[i] = i * dp[i - 1];
        
        
        }


    }

};
// @lc code=end

